<?php

class Doctrine_Model_DatoLaboralDao extends Doctrine_Model_BaseDao {

    public function obtenerTodos() {
        return $this->getEntityManager()
                        ->createQuery('select c from Doctrine_Model_Entities_Persona c')
                        ->getResult();
    }

    public function obtenerPorId($id) {
        return $this->getEntityManager()->find('Doctrine_Model_Entities_Persona', $id);
    }

    public function guardar(Doctrine_Model_Entities_DatosLaboral $unCliente) {
        try {
           
            $this->getEntityManager()->persist($unCliente);
            $this->getEntityManager()->flush();
            return true;
        } catch (Exception $e) {
            echo ($e->xdebug_message);
            $logger = Zend_Registry::get('logger');
            $logger->log("Error:" . $e->getMessage(), Zend_Log::ERR);
            return false;
        }
    }

    public function eliminar(Doctrine_Model_Entities_Persona $unCliente) {
        try {
            $this->getEntityManager()->remove($unCliente);
            $this->getEntityManager()->flush();

            return true;
        } catch (Exception $e) {
            $logger = Zend_Registry::get('logger');

            $logger->log("Error: " . $e->getMessage(), Zend_Log::ERR);
            return false;
        }
    }

    public function obtenerPorNumeroyTipoDeDocumento($numeroDeDocumento, $tipoDeDocumentoId) {
        if (isset($numeroDeDocumento) && isset($tipoDeDocumentoId)) {
            $result = $this->getEntityManager()
                    ->createQuery('select c from Doctrine_Model_Entities_Persona c JOIN c.tipoDocumento td where td.id=' . $tipoDeDocumentoId . ' AND c.nroDocumento=' . $numeroDeDocumento)
                    ->getResult();
            return $result[0];
        } else {
            return NULL;
        }
    }
    
        public function obtenerGarantePorNumeroyTipoDeDocumento($numeroDeDocumento, $tipoDeDocumentoId) {
        if (isset($numeroDeDocumento) && isset($tipoDeDocumentoId)) {
 
            $result = $this->getEntityManager()
                    ->createQuery('select c from Doctrine_Model_Entities_Persona c JOIN c.tipoDocumento td where td.id=' . $tipoDeDocumentoId . ' AND c.nroDocumento=' . $numeroDeDocumento)
                    ->getResult();
            return $result[0];
        } else {
            return NULL;
        }
    }
    
    
 

}

